package com.lyrcsoft.model.vo;

import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import java.util.HashMap;
import java.util.Map;

/**
 * {@link  JsonAnyGetter} ：将一个map集合中的key/value，序列化成为json。
 * <p>
 * {@link  JsonAnySetter} ：反序列化时，将定义以外的元素通过key/value形式保存到map中。
 *
 * @author fujc-dev@qq.com
 * @date 2023/7/18 13:58
 */
public class MapToJson {

    public MapToJson() {
    }

    ;

    public MapToJson(String name) {
        this.name = name;
    }

    ;

    private String name;
    private final Map<String, Object> properties = new HashMap<>();

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @JsonAnyGetter
    public Map<String, Object> getProperties() {
        return properties;
    }

    @JsonAnySetter
    public void setProperties(String key, Object value) {
        this.properties.put(key, value);
    }
}
